﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using PicturePortfolio.Domain;

namespace PicturePortfolio.ServiceContracts
{
    [ServiceContract]
    public interface IPhotoService
    {
        [OperationContract]
        List<Photo> GetAllPhotos();

        [OperationContract]
        Photo GetPhoto(Photo photo);

        [OperationContract]
        void SavePhoto(Photo photo);

        [OperationContract]
        void SavePhotos(List<Photo> photos);

        [OperationContract]
        void DeletePhoto(Photo photo);

        [OperationContract]
        void UpdatePhoto(Photo photo);

        [OperationContract]
        List<Category> GetCategories();

        [OperationContract]
        void SaveCategory(Category category);

        [OperationContract]
        void DeleteCategory(Category category);

        [OperationContract]
        List<Photo> GetPhotosByCategory(Category category);

        [OperationContract]
        List<PublicComment> GetCommentsByPhoto(Photo photo);

        [OperationContract]
        void DeleteComment(PublicComment comment);

        [OperationContract]
        void AddComment(PublicComment comment,Photo photo);

    }
}
